package com.chixing.util;

import org.apache.commons.codec.digest.DigestUtils;

public class MD5Utils {
    private static  final String SALT="1a2b3c4d5c";
    public  static String md5(String src){
        return DigestUtils.md5Hex(src);
    }
    /**
     * 第一次MD5加密
     * 用于通过输入的密码生成传输的密码：方法通过固定的盐值和明文密码之间拼接再生成MD5
     */
    public static String inputPwd2FormPass(String password){
        String str=""+SALT.charAt(5)+SALT.charAt(3)+password+SALT.charAt(4)+SALT.charAt(2);
        return str;
    }
    /**
     * 第二次MD5加密：通过输入的密码和数据库随机盐值，继续生成密码
     */
    public static String formPwd2DBPass(String password,String salt){
        String str=""+salt.charAt(0)+salt.charAt(2)+salt.charAt(1)+password+salt.charAt(4);
        return md5(str);
    }

    public static String inputPwd2DBPass(String password,String bdSalt){
        String firstMd5=inputPwd2FormPass(password);
        String secondMd5=formPwd2DBPass(firstMd5,bdSalt);
        return secondMd5;
    }

    public static void main(String[] args) {
        String password="00000";
        String salt="123456";
        System.out.println(inputPwd2DBPass(password,salt));
    }












}
